package com.tonglin.springboot.service;

import com.tonglin.springboot.mapper.UserMapper;
import com.tonglin.springboot.po.Status;
import com.tonglin.springboot.po.Status01;
import com.tonglin.springboot.po.User;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 *
 * 用来处理注册逻辑
 *
 * 从controller层接受到用户提交表单信息
 *
 * 先判断用户名是否为空，用户密码是否为空
 * 如果都不为空
 *   1.如果数据库中有该用户，则注册失败，用户已经存在
 *   2.如果没有，则将用户信息插入数据库
 *判断数据库中有没有该用户名，如果有，则返回用户已经存在信息
 */

@Service
public class LogonService {

    @Autowired
    private UserMapper userMapper;
       Status01 status01 = new Status01();

    public Status01 logon(String userName,String passWord ,Integer id){


       if(userMapper.queryUserByname(userName)!=null){
           status01.setMsg("该用户名已经存在，请重新注册");
           status01.setCode(false);
          return status01;
       }
         if(StringUtils.isBlank(userName)||StringUtils.isBlank(passWord)||StringUtils.isBlank(id.toString())){
             status01.setMsg("用户名、密码或用户id为空！");
             status01.setCode(false);
             return status01;
         }

         //判断数据中有没有注册的id，如果有则注册失败
        List<Integer> list = userMapper.select();

         boolean isCon = list.contains(id);
//        System.out.println(isCon);
         if (isCon){
             status01.setMsg("用户id已经存在，请重新注册！");
             status01.setCode(false);
             return status01;
         }


         User user1 = new User();
         user1.setUserID(id);
         user1.setUserName(userName);
         user1.setUserPSW(passWord);

         int temp = userMapper.insert(user1);
         if(temp<1){

             status01.setMsg("注册失败，请仔细检查注册信息！");
             status01.setCode(false);
             return status01;
         }
         status01.setCode(true);
         status01.setMsg("注册成功！");

         return status01;

    }

}
